/*
 * config.h
 *
 *  Created on: 28-Apr-2009
 *      Author: catchthealien
 */

#ifndef CONFIG_H_
#define CONFIG_H_

#include <string>
#include <stdio.h>

namespace cta {

class config {
private:
	// Variables for Screen Init
	int XResolution;
	int YResolution;
	int BPP;
	// Variables for Config File (/home/user/.cta/config.xml)
	std::string ConfigFile;
	std::string ConfigPath;
	std::string StandardConfigFile;
	// XML Parser
	//parser xmlParser;
public:
	config();
	bool ReadConfig();
	bool ReadConfig(std::string &FileName);
	bool WriteConfig();
	bool WriteConfig(std::string &FileName);
	virtual ~config();

    int getXResolution() const
    {
        return XResolution;
    }

    void setXResolution(int XResolution)
    {
        this->XResolution = XResolution;
    }

    int getYResolution() const
    {
        return YResolution;
    }

    void setYResolution(int YResolution)
    {
        this->YResolution = YResolution;
    }

    int getBPP() const
    {
        return BPP;
    }

    void setBPP(int BPP)
    {
        this->BPP = BPP;
    }

    static config& c() {
        static config singleton;
        return singleton;
    }
};

}

#endif /* CONFIG_H_ */
